package com.itheima;

import domain.User;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

/*
 * 连接数据库的测试类
 * */
public class JDBCDemo {
    public static void main(String[] args)throws Exception {
        //1、注册驱动(默认)
        Class.forName("com.mysql.jdbc.Driver");
        //2、获取连接
        // 协议：// ip地址：端口号/请求资源
        Connection conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/class38","root","root");
        //3、编写SQL语句
        //查询所有
        String sql="select id,username,pwd password from user";
        //4、创建编译对象
        Statement st = conn.createStatement();
        //5、执行SQL
        ResultSet rs = st.executeQuery(sql);
        //6、结果集遍历
      /*  rs.next();
        System.out.println(rs.getString("username"));
        rs.next();
        System.out.println(rs.getString("username"));*/
        //创建一个集合来接收user对象
        List<User> list=new ArrayList<User>();

        while (rs.next()){
            //创建User对象
            User u=new User();
            //System.out.println(rs.getInt("id")+"--"+rs.getString("username")+"--"+rs.getString("pwd"));
            //取出结果集中的数据赋值给u对象
            u.setId(rs.getInt(1));//通过查询列的位置 来获取
            u.setName(rs.getString("username"));//通过sql语句查询列的名称来获取结果集中数据
            u.setPwd(rs.getString("password"));
            list.add(u);
        }

        //7、事务提交
        //8、释放资源
        rs.close();
        st.close();
        conn.close();

        System.out.println(list);
    }
}
